#pragma once
#include <windows.h>
#include <memory>
#include <functional>
#include <string>
#include <iostream>
#include <exception>
#include <list>
#include <thread>
#include <atomic>
#include <assert.h>
#include <mutex>
#include <map>
#include <condition_variable>
#include <algorithm>
#include <deque>
#include <vector>

#define current_fiber scheduler::current_scheduler()->get_current_schedule_fiber()